#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os

def preCopyFilesInDir(oem_dir):
    
    file_dir = oem_dir + '/Launchimage'

    sourceDir = ''
    for file in os.listdir(file_dir):
        filepath = os.path.join(file_dir,file)
        if os.path.isdir(filepath) & filepath.endswith('en'):
           sourceDir = filepath

    if sourceDir == '':
       print('当前目录没找到 en 文件夹！')
       return;

    targetDir = ''
    for file in os.listdir(file_dir):
        targetDir = os.path.join(file_dir,file)
        if (not file.endswith('en')) & os.path.isdir(targetDir):
           didCopyFiles(sourceDir,targetDir)

def didCopyFiles(sourceDir, targetDir):

    count = 0
    for f in  os.listdir(sourceDir):
        
        sourceF = os.path.join(sourceDir, f)
        targetF = os.path.join(targetDir, f)

        if os.path.isfile(sourceF):
           open(targetF, "wb").write(open(sourceF, "rb").read())
           count += 1
        else:
           print('en 中存在文件夹，不拷贝')

    print('成功将 %s 的 %d 张启动图拷贝到 %s 中' % (sourceDir.split('/')[-1],count-1,targetDir.split('/')[-1]))


def entryFun():
    dirInput = raw_input('\n请输入要替换启动图的oem文件夹(如oem_nvc):')
    tupeRet = judgeDir(dirInput)
    if tupeRet[0]: # 如果存在，则替换
       print('\n注意！！！ \n1.先把启动图拷贝到%s/Launchimage/en文件夹，\n2.然后脚本会自动把该文件夹中的启动图拷贝到其他语言的文件夹' % tupeRet[1])
       print('\n是否已把启动图拷贝到%s/Launchimage/en 文件夹?' % tupeRet[1])
       inputOp = raw_input(' Y or N:\n')
       if inputOp == 'Y':
          preCopyFilesInDir(tupeRet[1])
          exit()
       else:
          entryFun()
    else:
       print(dirInput + '文件夹不存在！')
       entryFun()

def judgeDir(dir):
    isHas = False
    path = os.path.dirname(os.path.realpath(__file__))
    tmpFilepath = ''
    for filename in os.listdir(path):
        filepath = os.path.join(path,filename)
        if (os.path.isdir(filepath) & filepath.endswith(dir)):
           print(filepath)
           tmpFilepath = filepath
           isHas = True
           break;
    return (isHas,tmpFilepath)


if __name__ == '__main__':
    entryFun()
else:
    entryFun()





